package com.yonyou.pmclouds.billview.rmiimpl.buzi;

import com.yonyou.pmclouds.basecom.consts.BillTypeConst;
import com.yonyou.pmclouds.basecom.entity.PageObject;
import com.yonyou.pmclouds.basecom.entity.SuperVO;
import com.yonyou.pmclouds.basecom.exception.BusinessException;
import com.yonyou.pmclouds.billview.entity.BillViewQueryVO;
import com.yonyou.pmclouds.billview.rmitf.IBillViewBuziService;
import com.yonyou.pmclouds.billview.util.BillViewUtil;
import com.yonyou.pmclouds.workstartreport.entity.WorkStartVO;
import com.yonyou.pmclouds.workstartreport.rmiitf.WorkStartQuery;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * 单据查看业务接口
 */
@Component
public class WorkStartBuziServiceImpl implements IBillViewBuziService {


    @Autowired
    private WorkStartQuery workStartQuery;
    @Override
    public String getBillType() {
        return BillTypeConst.WORKSTART_BILLTYPE;
    }
    @Override
    public PageObject<Object> queryBillList(BillViewQueryVO billViewQueryVO) throws BusinessException {

        String startTime = StringUtils.isNotBlank(billViewQueryVO.getStartTime()) ?billViewQueryVO.getStartTime() + " 00:00:00" : "1000-01 00:00:00";
        String endTime = StringUtils.isNotBlank(billViewQueryVO.getEndTime()) ? billViewQueryVO.getEndTime() + " 23:59:59" :"2090-12-31 23:59:59";
        billViewQueryVO.setStartTime(startTime);
        billViewQueryVO.setEndTime(endTime);

        PageObject<Object> workStartVOs = workStartQuery.queryByCondition(billViewQueryVO);

        BillViewUtil.setBillStatus(workStartVOs.getObjects());

        return workStartVOs;
    }

    @Override
    public SuperVO queryBillDetail(String pkBill) throws BusinessException {
        WorkStartVO report = workStartQuery.getReport(pkBill);

        return report;
    }
}
